1. Field of the Invention
The present invention generally relates to transmission and presentation of broadcast digital video and audio program content and, more particularly, to error recovery, deletion and/or concealment of corrupted or missing data transmitted over lossy digital transmission media.
2. Description of the Prior Art
Since its invention, television has been recognized to have great economic and social potential. At the present time, when wide bandwidth transmission systems such as coaxial cable systems are becoming relatively ubiquitous, much of the economic and social potential derives from the variety of programming or other information which can be provided to users and the willingness of users to pay for access to particular information, such as pay-per-view movies at a time convenient to them.
While coaxial cable distribution systems provide very substantial numbers of choices of information available as well as some capacity for so-called upstream signalling and even Internet communications of increased speed relative to telephone/modem arrangements, there is increased demand for wider variety and flexibility of programming which can only be provided, at the present state of the art, through digital communications using extremely broad band transmission media such as microwave, satellite and fiber optic links.
Even with these broad band communication media, the required capacity, the volume and variety of data contained in common programming requires extreme compression to support the number of separate communications which may be required to be transmitted over a communication link of finite although substantial capacity. Accordingly, a compression convention referred to as MPEG (Motion Picture Experts Group has been promulgated in several versions (e.g. MPEG-2) and has become an industry standard. This standard is extremely flexible and adaptive to transmission content to allow extreme compression and is largely compatible with error recovery and hiding arrangements which support acceptable video and audio playback even though the digital transmission medium may be xe2x80x9clossyxe2x80x9d and reception of data with missing or corrupted segments or packets is a common occurrence.
In order to implement this compression convention, a so-called xe2x80x9cset-top boxxe2x80x9d (STB) has been developed (referred to as a target decoder under the MPEG standard) and, at the current time, has a well-established architecture. The processing of which the STB is capable is, of course, very substantial since MPEG compression is very complex. While little storage is generally required for decoding within the MPEG decoder architecture, public familiarity with the functions of video cassette recorders (VCRs) has led to a demand for substantial amounts of storage to support similar functions in the STB. Decompression is generally performed in several stages and allows convenient storage in a coded form which is substantially compressed relative to the final displayable format. Therefore, at the present time, provision of substantial storage within the STB and for further storage on an outboard mass storage device such as a hard disk drive or compact disk recorder/playback device is being considered and implemented.
Additionally, user demand for specialized features and image enhancement has required substantially increased complexity beyond the demands of MPEG processing. For example, a separate microprocessor and associated memory is generally included and dedicated to provide user-definable functions such as overlays, picture-in-picture displays, graphics rendering and morphing and other image manipulations. This additional hardware complexity has pushed the cost of the STB close to the limit of consumer acceptance and economic viability. Therefore, additional functions may only be included if they can be implemented very economically with little additional hardware and without use of the additional dedicated microprocessor.
It is desirable to provide error detection and recovery, deletion and/or concealment of portions of digital data that may have been lost or corrupted by transmission over a xe2x80x9clossyxe2x80x9d medium. For example, if a video frame is lost or corrupted during transmission and/or reception, it is conventional to replace corrupted image portions with previously received image portions which may or may not be perceptible to a viewer and certainly much less perceptible than display of random video pixels or playing out random noise corresponding to corrupted or missing data in a portion of an image field at random times within the program sequence.
However, there is some difficulty with limited hardware in the reliability of detection of errors and substantial numbers of errors may be undetected in the course of a program; leading to the production of random artifacts in the image or audio. Further, such a simple concealment process, imposed by the limitations on hardware that can be included in a STB, essentially stops motion of video and imposes some readily perceptible artifacts in audio playback until valid data is again detected; either of which becomes irritating and even more readily perceptible to a user as frequency of corruption or loss of data and the amount of corrupted or lost data increases. Further, since only the last valid data is available when an error is detected, the nature of possible corrections that are available is very limited and the severity of artifacts produced cannot be controlled. At the current state of the art, no further improvement in error concealment has been proposed that can be implemented with an economically acceptable amount of additional hardware and/or processing resources.
It is therefore an object of the present invention to provide improved error recovery in the course of storage of digitally transmitted audio and video signals.
It is another object of the invention to provide improved hiding of reception errors and reduction in number and severity of artifacts from stored digitally transmitted audio and video signals.
In order to accomplish these and other objects of the invention, a method of hiding and/or correcting errors in digitally transmitted signals is provided comprising steps of detecting errored (e.g. erroneous as containing an error) data in buffered data being routed to a mass storage device, writing an address of detected errors in a header of a block or sub-block containing an error, storing the buffered data in the mass storage device, buffering data read out from the mass storage device and detecting a length of an error in the buffered data, and substituting valid data for errored data or omitting errored data based on valid data preceding and following errored data in a data stream to form a corrected data stream.
In accordance with another aspect of the invention, a method of hiding errors in digitally transmitted signals is provided comprising steps of storing digitally transmitted signals in a mass memory device, parsing the digitally transmitted signals upon read out from said mass storage to find valid data preceding and following an error, and determining a hiding procedure for reducing perceptibility of artifacts corresponding to the error based on the valid data preceding and following the error and the size of the error.